  20 .MAGIC-USER & ILLUSIONIST
NT=0;CLEAR 
   1 GOTO 10
   2 PRINT "S:",;RETURN 
   3 PRINT "I:",;RETURN 
   4 PRINT "W:",;RETURN 
   5 PRINT "D:",;RETURN 
   6 PRINT "C:",;RETURN 
   7 CX=CX-6;PRINT "CH:",;RETURN 
  10 .CHARACTER MAKER
  20 .MAGIC-USER & ILLUSIONIST
  25 FOR A=0TO 4;PRINT ;NEXT A;CLEAR ;X=400
  35 CY=-40
  40 FOR A=1TO 7;@(A)=0;MU=RND (65)+48
  50 FOR Z=20080TO 20088STEP 2;%(Z)=RND (6);NEXT Z;GOSUB 200
  60 NEXT A;NT=1
  65 CY=39;CX=-72
  70 C=RND (11);IF @(2)>14IF @(4)>15IF C>5PRINT "ILLUSIONIST";GOTO 90
  80 PRINT "MAGIC-USER
  90 L=RND (11)
 100 CY=39;CX=12
 110 PRINT "LEVEL:",#3,L
 120 BOX 0,39,160,9,3
 125 PRINT 
 130 BC=RND (32)×8-1
 135 CY=30;GOSUB 600
 140 FOR A=1TO 6;CX=48
 145 GOSUB A+1;PRINT #3,@(A);NEXT A
 150 CY=18;PRINT "SPELLS:
 160 PRINT ;CY=8
 170 GOSUB 270
 180 K=KP;RUN 
 190 IF E<BIF E<CIF E<D E=0
 200 IF D<BIF D<CIF D<E D=0
 210 IF C<BIF C<DIF C<E C=0
 220 IF B<CIF B<DIF B<E B=0
 230 @(A)=B+C+D+E
 240 IF @(A)>18 @(A)=18
 250 RETURN 
 270 FOR A=0TO 6;@(A)=0;NEXT A
 280 FOR S=1TO L
 290 GOSUB X+S×10+70×((C>5)×(S>5))
 300 NEXT S
 310 FOR S=1TO 6
 320 CX=S×18-96;CY=8;PRINT #3,S,
 330 FOR T=1TO @(S);IF @(S)=0T=0
 340 IF T=0GOTO 370
 350 CX=S×18-96
 355 CY=4-T×8
 357 IF C>5PRINT #3,RND (8)+(S<4)×(RND (5)-1),;GOTO 370
 360 PRINT #3,RND (24)+(S=1)×(RND (7)-1),
 370 NEXT T
 380 PRINT 
 390 NEXT S
 395 BOX -24,8,108,9,3
 400 RETURN 
 410 @(1)=1;RETURN 
 420 @(1)=2;RETURN 
 430 @(2)=1;RETURN 
 440 @(1)=3;@(2)=2;RETURN 
 450 @(1)=4;@(3)=1;RETURN 
 460 @(3)=2;RETURN 
 470 @(2)=3;@(4)=1;RETURN 
 480 @(3)=3;@(4)=2;RETURN 
 490 @(5)=1;RETURN 
 500 @(2)=4;@(5)=2;RETURN 
 510 @(3)=4;@(4)=3;@(5)=3;RETURN 
 520 @(4)=4;@(5)=4;@(6)=1;RETURN 
 530 @(2)=3;RETURN 
 540 @(3)=2;RETURN 
 550 @(4)=1;RETURN 
 560 @(1)=5;@(3)=3;@(4)=2;RETURN 
 570 @(2)=4;@(5)=1;RETURN 
 580 @(4)=3;@(5)=2;RETURN 
 590 @(2)=5;@(3)=4;@(6)=1;RETURN 
 600 H=RND (3);I=RND (3)
 610 IF H=1PRINT "LAWFUL ",
 620 IF H=2PRINT "NEUTRAL ",
 630 IF H=3PRINT "CHAOTIC ",
 640 IF I=1PRINT "EVIL",
 650 IF I=3PRINT "GOOD",
 660 PRINT ;RETURN 
:RETURN ;RUN 
